package com.itheima.mongoservice;

import com.itheima.pojo.mongo.Friend;
import com.itheima.pojo.mongo.Movement;
import com.itheima.pojo.mongo.MovementTimeLine;
import org.bson.types.ObjectId;

import java.util.List;

public interface MovementServiceApi {
    String pushMovement(Movement movement);

    List<Friend> getUserFriend(Long uid);

    List<Movement> getMovements(Integer page, Integer pagesize, List<MovementTimeLine> movementTimeLine);

    List<Movement> getMovementsByPid(Integer page, Integer pagesize, Long toLong);

    List<Movement> randomMovement(Integer page, Integer pagesize);

    List<Movement> getMyMovements(Integer page, Integer pagesize, Long userId);

    List<MovementTimeLine> getMovementTimeline(Integer page, Integer pagesize, Long uid);

    Movement getMovementInfo(String id);

    Movement getMovementInfoById(ObjectId movementId);

    void updateMovement(Movement movementInfo);

    List<Movement> getMovementsByUid(Integer page, Integer pagesize, Long uid, Integer state);

    Long getMovementCount(Integer state, Long uid);

    void updateMovementState(Movement movement);
}
